import request from '@/utils/request' // 假设request.js路径为src/utils/request.js

export const purchaseApi = {
  /**
   * 创建采购订单
   * @param {Object} params - 请求参数
   * @param {string} params.area - 采购地区（如："华东区"）
   * @param {string} params.number - 采购订单编号（如："PO20240801001"）
   * @param {string} params.productId - 商品ID（MongoDB ObjectId）
   * @param {number} params.quantity - 采购数量（≥1）
   * @param {string} params.supplier - 供应商名称
   * @returns {Promise} 响应结果（包含message和order）
   */
  createPurchaseOrder: (params) => {
    return request.post('/logistics/purchase-orders', params)
  },

  /**
   * 审核通过采购订单（状态改为"待采购"）
   * @param {string} id - 采购订单ID（MongoDB ObjectId）
   * @returns {Promise} 响应结果（包含message和更新后的order）
   */
  approvePurchaseOrder: (id) => {
    return request.put(`/logistics/purchase-orders/${id}/approve`)
  },

  /**
   * 审核不通过采购订单（状态改为"审核不通过"）
   * @param {string} id - 采购订单ID（MongoDB ObjectId）
   * @returns {Promise} 响应结果（包含message和更新后的order）
   */
  rejectPurchaseOrder: (id) => {
    return request.put(`/logistics/purchase-orders/${id}/reject`)
  },

  /**
   * 完成采购（触发入库流程，状态改为"待入库"）
   * @param {string} id - 采购订单ID（MongoDB ObjectId）
   * @returns {Promise} 响应结果（包含message、order和inboundOrder）
   */
  completePurchase: (id) => {
    return request.put(`/logistics/purchase-orders/${id}/complete`)
  },

  /**
   * 查询采购订单列表（无过滤条件）
   * @returns {Promise} 响应结果（订单数组）
   */
  getPurchaseOrderList: () => {
    return request.get('/logistics/purchase-orders')
  },

  /**
   * 查询单个采购订单详情
   * @param {string} id - 采购订单ID（MongoDB ObjectId）
   * @returns {Promise} 响应结果（订单对象）
   */
  getPurchaseOrderDetail: (id) => {
    return request.get(`/logistics/purchase-orders/${id}`)
  },

  /**
   * 取消采购订单（变更为"已取消"状态）
   * @param {string} id - 采购订单ID（MongoDB ObjectId）
   * @returns {Promise} 响应结果（包含message和order）
   */
    cancelPurchaseOrder: (id) => {
    return request.put(`/logistics/purchase-orders/${id}/cancel`)
  },

  /**
   * 重新审核采购订单（"审核不通过"状态变更为"待审核"）
   * @param {string} id - 采购订单ID（MongoDB ObjectId）
   * @returns {Promise} 响应结果（包含message和order）
   */
  reAuditPurchaseOrder: (id) => {
    return request.put(`/logistics/purchase-orders/${id}/re-audit`)
  },
}